package com.iwhalecloud.bss.kite.cucc.service.attr.linkhandler;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.iwhalecloud.bss.kite.common.util.KiteStringUtils;
import com.iwhalecloud.bss.kite.cucc.service.attr.handler.IntercomHeadsetModelAttrHandler;
import com.iwhalecloud.bss.kite.listener.handler.attr.annotation.AttrHandler;
import com.iwhalecloud.bss.kite.listener.handler.attr.impl.AbstractAttrLinkageHandler;
import com.iwhalecloud.bss.kite.manager.inst.KiteAttr;
import com.iwhalecloud.bss.kite.manager.inst.KiteInst;
import com.iwhalecloud.bss.kite.service.attr.AttrData;
import com.iwhalecloud.bss.kite.service.scene.attr.OperateInstAttrService;

/**
 * Created by huanghaosheng on 2021/4/13 19:52
 */
@Service
@AttrHandler(IntercomHeadsetModelAttrHandler.class)
public class IntercomHeadsetModelAttrLinkHandler extends AbstractAttrLinkageHandler<AttrData> {

    @Autowired
    OperateInstAttrService operateInstAttrService;

    @Override
    public void handle(KiteAttr attr, KiteInst inst, AttrData data) {
        if (KiteStringUtils.isEqual(attr.getValue(), "100007525")) { //POC020
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "25", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "22", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301017", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", attr.getValue(), data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "100007526")) { //POC030
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "80", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "73", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301021", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", attr.getValue(), data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "100007527")) { //POC040
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "55", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "50", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301033", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", attr.getValue(), data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "100007528")) { //POC050
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "67", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "60", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301029", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", attr.getValue(), data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "110007336")) { //POC060（普通版）
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "129", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "118", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301037", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", "100007529", data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "110007337")) { //POC060（空气导管版）
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "166", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "151", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301038", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", "100007529", data.getSceneInstId(), null);
        }
        else if (KiteStringUtils.isEqual(attr.getValue(), "110007338")) { //POC060（手持版）
            // 销售价
            operateInstAttrService.setAttrValue(inst, "200004107", "253", data.getSceneInstId(), null);
            // 结算价
            operateInstAttrService.setAttrValue(inst, "200004108", "230", data.getSceneInstId(), null);
            // 物资编码
            operateInstAttrService.setAttrValue(inst, "200004178", "7600301039", data.getSceneInstId(), null);
            // 适配终端型号
            operateInstAttrService.setAttrValue(inst, "210004174", "100007529", data.getSceneInstId(), null);
        }

    }

    @Override
    public void handleStyle(KiteAttr attr, KiteInst inst, AttrData data) {

    }
}
